/**

 @Name：layuiAdmin 内容系统
 @Author：star1029
 @Site：http://www.layui.com/admin/
 @License：LPPL
    
 */




layui.define(['table', 'form','transfer','tree'], function(exports){
  var $ = layui.$
  ,admin = layui.admin
  ,view = layui.view
  ,transfer=layui.transfer
  ,table = layui.table
  ,tree=layui.tree
  ,form = layui.form;

  //用户管理
  table.render({
    elem: '#LAY-app-content-list'
    ,url: 'http://stuapi.ysdjypt.com/api/GetUsersLayUI' //模拟接口
    ,where :{
      token:'0e50a0f0-c930-4543-90f7-203a4894088c'
    }
   
    ,method:'POST'
    ,cols: [[
      {type: 'checkbox', fixed: 'left'}
      ,{field: 'Id', width: 100, title: '用户id', sort: true}
      ,{field: 'LoginName', title: '用户名', minWidth: 100}
      ,{field: '', title: '是否锁定',templet:function(d){
        if(d.isToday=="是"){
          return '<input type="checkbox" param="'+d.LoginName+'" lay-filter="today" name="IsLockout" lay-skin="switch" checked  lay-text="解锁|锁定">';
        }else{
          return '<input type="checkbox" param="'+d.LoginName+'" lay-filter="today" name="IsLockout" lay-skin="switch"   lay-text="解锁|锁定">';
        }
      }}
      ,{field: 'LastLoginTime', title: '最后登录时间'}
      ,{field: 'CreateTime', title: '创建时间 ', sort: true}
      ,{field: 'PsdWrongTime', title: '秘密错误次数', sort: true}
      ,{field: 'LockTime', title: '用户锁定时间', sort: true}
      ,{field: 'ProtectEMail', title: '邮箱  ', sort: true}
      ,{field: 'ProtectMTel', title: '手机号码',  sort: true}
      ,{title: '操作', minWidth: 150, align: 'center',  toolbar: '#table-content-list'}
    ]]
    ,page: true
    ,limit: 10
    ,limits: [10, 15, 20, 25, 30]
    ,text: '对不起，加载出现异常！'
  });
  



 //监听推荐/取消推荐开关事件
 form.on('switch(today)', function(data){
  console.log(data.elem); //得到checkbox原始DOM对象
  console.log(data.elem.checked); //开关是否开启，true或者false
  console.log(data.value); //开关value值，也可以通过data.elem.value得到
  console.log(data.othis); //得到美化后的DOM对象


  // alert(data.elem.checked);

       if(data.elem.checked){


        $.post(
          "http://stuapi.ysdjypt.com/api/UnLockUser",
      {
        un:$(data.elem).attr("param"),
       
        token:'0e50a0f0-c930-4543-90f7-203a4894088c'
      },function(res){
        
    
          layer.msg("解锁"+res.success);
        
        
      
      },'json'
      );

      } else{

        $.post(
          "http://stuapi.ysdjypt.com/api/LockUser",
      {
        un:$(data.elem).attr("param"),
       
        token:'0e50a0f0-c930-4543-90f7-203a4894088c'
      },function(res){
        
    
          layer.msg("锁定"+res.success);
        
        
      
      },'json'
      );

      }

  
 
  
}); 



  //监听工具条
  table.on('tool(LAY-app-content-list)', function(obj){
    var data = obj.data;
    if(obj.event === 'del'){
      layer.confirm('确定删除该用户吗？', function(index){



        $.post("http://stuapi.ysdjypt.com/api/DeleteUser",{

          uid:data.Id,
         
         
          token:'0e50a0f0-c930-4543-90f7-203a4894088c'
        },function(res){

          layer.msg(res.success);
        },'json')




        obj.del();
        layer.close(index);
      });
    } else if(obj.event === 'edit'){
      admin.popup({
        title: '正在修改【'+data.LoginName+'】的信息'
        ,area: ['550px', '550px']
        ,id: 'LAY-popup-content-edit'
        ,success: function(layero, index){
          view(this.id).render('app/content/listform2', data).done(function(){


         //   alert(data.LoginName);
  //数据回显
  form.val("layuiadmin-app-form-list2", data);

            form.render(null, 'layuiadmin-app-form-list2');
            


            //监听提交
            form.on('submit(layuiadmin-app-form-submit)', function(data){
              var field = data.field; //获取提交的字段




              $.post("http://stuapi.ysdjypt.com/api/UpdateUser",{

                loginName:field.LoginName,
               
                email:field.ProtectEMail,
                mtel:field.ProtectMTel,
                token:'0e50a0f0-c930-4543-90f7-203a4894088c'
              },function(res){

                layer.msg(res.success);
              },'json')




              //提交 Ajax 成功后，关闭当前弹层并重载表格
              //$.ajax({});
              layui.table.reload('LAY-app-content-list'); //重载表格
              layer.close(index); //执行关闭 
            });
          });
        }
      });
    }
    else if(obj.event === 'reset'){
      layer.confirm('确定重置该用户密码吗？', function(index){



        $.post("http://stuapi.ysdjypt.com/api/ResetPassword",{

          un:data.LoginName,
         
         
          token:'0e50a0f0-c930-4543-90f7-203a4894088c'
        },function(res){

          layer.msg(res.success);
        },'json')




        obj.del();
        layer.close(index);
      });
    }
    else if(obj.event === 'role'){
      

//------------------------------------------------------------
        admin.popup({
          title: '正在修改【'+data.LoginName+'】的角色信息'
          ,area: ['550px', '550px']
          ,id: 'LAY-popup-content-edit'
          ,success: function(layero, index){
            view(this.id).render('app/content/transfer', data).done(function(){
  
              var arr = new Array();

              //alert(data.Id);
              //------------------------
              $.post('http://stuapi.ysdjypt.com/api/GetRolesByUserIdLayUI', {
    
                uId: data.Id,
                token: '0e50a0f0-c930-4543-90f7-203a4894088c'
    
              }, function(e) {
    
                for(var i = 0; i < e.data.length; i++) {
    
                  arr.push(e.data[i].Id); //向数组添加元素
    
                }
    
                //layer.msg(arr)
    
              }, 'json')
  
              $.post('http://stuapi.ysdjypt.com/api/GetRolesAll', {
                token: '0e50a0f0-c930-4543-90f7-203a4894088c'
              }, function(res) {
              
              //  alert(res[1].Name)
              
                //渲染
                transfer.render({
                  elem: '#test1' //绑定元素
                    ,
                  data: res,
                  onchange: function(role, index) {
  
                      console.log(role); //得到当前被穿梭的数据,数组
                      console.log(index); //如果数据来自左边，index 为 0，否则为 1
  
                      if(index == 0) {
  
                        for(var i = 0; i < role.length; i++) {
  
                          $.post('http://stuapi.ysdjypt.com/api/AddUserToRole', {
  
                            uId: data.Id,
                            rId: role[i].value,
                            token: '0e50a0f0-c930-4543-90f7-203a4894088c'
  
                          }, function(res) {
                            console.log(res);
                            layer.msg('设置成功')
                          }, 'json')
  
                        }
  
                      } else {
  
                        for(var i = 0; i < role.length; i++) {
  
                          $.post('http://stuapi.ysdjypt.com/api/RemoveUserFromRole', {
                            uId: data.Id,
                            rId: role[i].value,
                            token: '0e50a0f0-c930-4543-90f7-203a4894088c'
  
                          }, function(e) {
                            layer.msg('撤销成功')
                          }, 'json')
  
                        }
  
                      }
  
                    }
  
                    ,
                  title: ['用户', '角色'],
                  value: arr,
                  parseData: function(res) {
                      return {
                        "value": res.Id //数据值
                          ,
                        "title": res.Name //数据标题
  
                      }
                    }
  
                    ,
                  id: 'demo1' //定义索引
                });
  
              }, 'json'
  
            )
   //----------------------
              
  
  
              //监听提交
              form.on('submit(layuiadmin-app-com-submit)', function(data){
                var field = data.field; //获取提交的字段
  
  
  
  
               
  
  //-----------------
  
                //提交 Ajax 成功后，关闭当前弹层并重载表格
                //$.ajax({});
                layui.table.reload('test1'); //重载表格
                layer.close(index); //执行关闭 
              });
            });
          }
        });

//---------------------------------------------------------------------

     
    }





  });

  //分类管理
  table.render({
    elem: '#LAY-app-content-tags'
    ,url: 'http://stuapi.ysdjypt.com/api/GetRolesLayUI' //模拟接口
    ,where :{
      token:'0e50a0f0-c930-4543-90f7-203a4894088c'
    }
   
    ,method:'POST'
    ,cols: [[
      {type: 'numbers', fixed: 'left'}
      ,{field: 'Id', width: 100, title: '角色id', sort: true}
      ,{field: 'Name', title: '角色名称', minWidth: 100}
      ,{title: '操作', width: 150, align: 'center',  toolbar: '#layuiadmin-app-cont-tagsbar'}
    ]]
    ,page: true
    ,limit: 10
    ,limits: [10, 15, 20, 25, 30]
    ,text: '对不起，加载出现异常！'
  });
  
  //监听工具条
  table.on('tool(LAY-app-content-tags)', function(obj){
    var data = obj.data;
    if(obj.event === 'del'){
      layer.confirm('确定删除此角色？', function(index){



        $.post("http://stuapi.ysdjypt.com/api/DeleteRole",{

        
          roleId:data.Id,
         
          token:'0e50a0f0-c930-4543-90f7-203a4894088c'
        },function(res){

          layer.msg(res.success);
        },'json')



        obj.del();
        layer.close(index);
      });
    } else if(obj.event === 'edit'){
      admin.popup({
        title: '正在修改【'+data.Name+'】的信息'
        ,area: ['450px', '200px']
        ,id: 'LAY-popup-content-tags'
        ,success: function(layero, index){
          view(this.id).render('app/content/tagsform', data).done(function(){
            form.render(null, 'layuiadmin-form-tags');

//数据回显
form.val("layuiadmin-form-tags", data);
            
                   
                     
            //监听提交
            form.on('submit(layuiadmin-app-tags-submit)', function(data){
              var field = data.field; //获取提交的字段

            

              $.post("http://stuapi.ysdjypt.com/api/UpdateRole",{

                Name:field.Name,
                roleId:field.Id,
               
                token:'0e50a0f0-c930-4543-90f7-203a4894088c'
              },function(res){
      
                layer.msg(res.success);
              },'json')
      



              //提交 Ajax 成功后，关闭当前弹层并重载表格
              //$.ajax({});
              layui.table.reload('LAY-app-content-tags'); //重载表格
              layer.close(index); //执行关闭 
            });


          });
        }
      });
    }
    else if(obj.event === 'controller'){  //权限管理
      

  //------------------

  admin.popup({
    title: '正在修改【'+data.Name+'】的角色信息'
    ,area: ['550px', '550px']
    ,id: 'LAY-popup-content-edit'
    ,success: function(layero, index){
      view(this.id).render('app/content/controller', data).done(function(){

      
        $("#rId").val(data.Id);


        $.post('http://stuapi.ysdjypt.com/api/GetModulesByRoleIdLayUI', {
							
          roleId:data.Id,
            
        token: '0e50a0f0-c930-4543-90f7-203a4894088c'
      }, function(res){
        
        
          var inst1 = tree.render({
          elem: '#test1' //绑定元素
            ,
          edit: ['add', 'update', 'del'],
          data: res,
          id:'demo1',
          showCheckbox:true,
          //--------------                                                                   ---------->

          operate: function(obj) {
            var type = obj.type; //得到操作类型：add、edit、del
            var data = obj.data; //得到当前节点的数据
            var elem = obj.elem; //得到当前节点元素
            
            
            
         //  console.log(elem);
            

            //Ajax 操作
            var id = data.id; //得到节点索引
            
           
          
              $('#mId').val(id);
            
            
            if(type === 'add') { //增加节点
              //返回 key 值

   //---------------------add
   $('#parentId').val(id);

   admin.popup({
    title: '添加模块'
    ,area: ['550px', '550px']
    ,id: 'LAY-popup-content-add'
    ,success: function(layero, index){
      view(this.id).render('app/content/controlleradd', data).done(function(){

       // alert(id);
         console.log(data)

  //监听提交
  form.on('submit(layuiadmin-app-form-submitadd)', function(data){


    
        $.post('http://stuapi.ysdjypt.com/api/CreateModule',{
          name:data.field.name,
          path:data.field.path,
          weight:data.field.weight,
         
         parentId:id,
         token:'0e50a0f0-c930-4543-90f7-203a4894088c'
        }	,
					function(e) {

            layer.msg(e.success)
						//刷新页面
						location.reload();

					}, 'json')


        //  layui.table.reload('LAY-app-content-tags'); //重载表格
          layer.close(index); //执行关闭 



        });

 });
        }
      });

   //---------------------add



              
              

            
            } else if(type === 'update') { //修改节点



              admin.popup({
                title: '编辑模块'
                ,area: ['550px', '550px']
                ,id: 'LAY-popup-content-add'
                ,success: function(layero, index){
                  view(this.id).render('app/content/controlleredit', data).done(function(){


                   console.log(data);
                    form.val("layuiadmin-app-form-list", {
	

	
                      "name": data.title // "name": "value"
                      ,"path": data.href
                     // ,"weight": data.weight
                     
                    })
            
                    $.post('http://stuapi.ysdjypt.com/api/GetModuleById',{
									
									id:id,
									token: '0e50a0f0-c930-4543-90f7-203a4894088c'
								},function(res){
                  
                  
									
										$('#parentId2').val(JSON.parse(res.message).parentId);
                    $('#weight').val(JSON.parse(res.message).weight);
                    $('#id').val(JSON.parse(res.message).id);
                    $('#pid').val(JSON.parse(res.message).parentId);
                   // $('#path').val(JSON.parse(res.message).url);
									
                },'json')
                



            
            
              //监听提交
              form.on('submit(layuiadmin-app-form-submitedit)', function(data){
            
            
              //  alert(1);
                  
            
				$.post('http://stuapi.ysdjypt.com/api/UpdateModule',
            
        {
          parentId: data.field.parentId,
          name: data.field.name,
          mId: id,
          path:data.field.path,
          weight:data.field.weight,
          token: '0e50a0f0-c930-4543-90f7-203a4894088c'

        }
				

					,
					function(e) {

            layer.msg(e.success);
						//刷新页面
						//location.reload();

					}, 'json')
            
            
                    });
            
             });
                    }
                  });
							
								
			
              
              
            } else if(type === 'del') { //删除节点
              
              
              layer.open({
                content: '测试回调',
                yes: function(index, layero){
                  
                  $.post('http://stuapi.ysdjypt.com/api/DeleteModule',{
                            
                            mId:id,
                            token: '0e50a0f0-c930-4543-90f7-203a4894088c'
                          },function(res){
                            
                            
                            
                            
                            layer.msg('删除成功'+res.success)
                            
                          },'json')

                        }
                      })
              

            };
          }
          //--------------                                                                          ------>
          

        });
        
      },'json')



 //监听提交
 form.on('submit(layuiadmin-app-com-submitx)', function(data){
  var field = data.field; //获取提交的字段
  var parentIds='';
   

//------------------
var checkedDatas = tree.getChecked('demo1'); 
alert(checkedDatas.length);
					for(var i=0;i<checkedDatas.length;i++){
					
						//console.log(checkedDatas[i])
						
						for(var j=0;j<checkedDatas[i].children.length;j++){
             
							parentIds+=checkedDatas[i].children[j].id+',';
							
							
						}
            
           
        

						
          }
         
          //去掉最后一个逗号
          if(parentIds.endsWith(",")){

            parentIds = parentIds.substring(0,parentIds.length-1) ;

          }

         
          
				//	alert(parentIds);
					
					
					
					
					$.post('http://stuapi.ysdjypt.com/api/SetSysRights',{
						parentIds:parentIds,
						rId:$('#rId').val(),
						
						token: '0e50a0f0-c930-4543-90f7-203a4894088c'
					},function(res){
						
						
						layer.msg(''+res.success);
						
						
					},'json')

//------------------



   //提交 Ajax 成功后，关闭当前弹层并重载表格
              //$.ajax({});
              layui.table.reload('test1'); //重载表格
              layer.close(index); //执行关闭 

 })


      });






    }
  });

  //----------------






    } 




  });

  //评论管理
  table.render({
    elem: '#LAY-app-content-comm'
    ,url: './json/content/comment.js' //模拟接口
    ,cols: [[
      {type: 'checkbox', fixed: 'left'}
      ,{field: 'id', width: 100, title: 'ID', sort: true}
      ,{field: 'reviewers', title: '评论者', minWidth: 100}
      ,{field: 'content', title: '评论内容', minWidth: 100}
      ,{field: 'commtime', title: '评论时间', minWidth: 100, sort: true}
      ,{title: '操作', width: 150, align: 'center', fixed: 'right', toolbar: '#table-content-com'}
    ]]
    ,page: true
    ,limit: 10
    ,limits: [10, 15, 20, 25, 30]
    ,text: '对不起，加载出现异常！'
  });
  
  //监听工具条
  table.on('tool(LAY-app-content-comm)', function(obj){
    var data = obj.data;
    if(obj.event === 'del'){
      layer.confirm('确定删除此条评论？', function(index){
        obj.del();
        layer.close(index);
      });
    } else if(obj.event === 'edit'){
      admin.popup({
        title: '编辑评论'
        ,area: ['450px', '300px']
        ,id: 'LAY-popup-content-comm'
        ,success: function(layero, index){
          view(this.id).render('app/content/contform', data).done(function(){
            form.render(null, 'layuiadmin-form-comment');
            
            //监听提交
            form.on('submit(layuiadmin-app-com-submit)', function(data){
              var field = data.field; //获取提交的字段

              //提交 Ajax 成功后，关闭当前弹层并重载表格
              //$.ajax({});
              layui.table.reload('LAY-app-content-comm'); //重载表格
              layer.close(index); //执行关闭 
            });
          });
        }
      });
    }
  });

  exports('contlist', {})
});